home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #1 / Ham Radio 2000.iso / ham2000 / packet / p_aa4re / bb212src / bbwinst.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-02-03  |  2.3 KB  |  77 lines

  1. (*===========================================================================*)
  2. (* Update status line                                                        *)
  3. (*                                                                           *)
  4. (*   Copyright 1988, 1989 by H. Roy Engehausen.  All rights reserved.        *)
  5. (*                                                                           *)
  6. (*===========================================================================*)
  7.  
  8. PROCEDURE window_status_line(status_string : STRING);
  9.   VAR
  10.     i        : BYTE;
  11.     save_x   : INTEGER;
  12.     save_y   : INTEGER;
  13.     save_w   : BYTE;
  14.     t_str    : ARRAY[1..window_max] OF STRING;
  15.     w_no     : BYTE;
  16.     w_tcb    : tcb_ptr;
  17.  
  18.   BEGIN;
  19.  
  20.     FOR i := 1 TO window_max DO
  21.       t_str[i] := '';
  22.  
  23.     w_tcb := ring_tcb;
  24.  
  25.     REPEAT
  26.  
  27.       WITH w_tcb^ DO
  28.         BEGIN;
  29.           IF tcb_name <> '' THEN
  30.             t_str[window] := t_str[window] + port_chan_s + ':' + tcb_name + ' ';
  31.           w_tcb := w_tcb^.next_tcb;
  32.         END;
  33.  
  34.     UNTIL w_tcb = ring_tcb;
  35.  
  36.     IF t_str[window_connect] = '' THEN
  37.       t_str[window_connect] := 'Connect: None '
  38.     ELSE
  39.       t_str[window_connect] := 'Connect: ' + t_str[window_connect];
  40.  
  41.  
  42.     t_str[window_monitor] := 'Monitor ';
  43.  
  44.     w_no := who_is_in_window(window_bottom_screen);
  45.  
  46.     IF window_array[window_operator].window_act THEN
  47.       status_string := status_string + ' -- Operator ' +
  48.                                 t_str[window_operator] + down_arrow + ' -- '
  49.     ELSE
  50.       status_string := status_string + ' -- ' + t_str[w_no]
  51.                                                        + down_arrow + ' -- ';
  52.  
  53.     w_no := who_is_in_window(window_top_screen);
  54.  
  55.     status_string := status_string + t_str[w_no] + up_arrow;
  56.  
  57.     save_x := WHEREX;
  58.     save_y := WHEREY;
  59.     save_w := current_window;
  60.  
  61.     window_select(window_reset);
  62.  
  63.     WINDOW( 1, window_location[window_reset].window_u_y,
  64.            80, window_location[window_reset].window_l_y);
  65.  
  66.     GOTOXY(1, window_location[window_top_screen].window_l_y + 1);
  67.     COLOR(opt_block.status_color);
  68.  
  69.     CLREOL;
  70.     WRITE(status_string);
  71.  
  72.     window_select(current_window);
  73.     GOTOXY(save_x, save_y);
  74.     COLOR(active_tcb^.w_color);
  75.  
  76.   END;
  77.